package cn.cheniy.swiftmark.common.security.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.security.crypto.password.PasswordEncoder;

/**
 * @author cheniy
 * @description 为 Spring 应用程序配置密码编码器。
 *  
 *
 * 在 Spring Security 框架中，密码编码器用于对用户的密码进行加密和验证，以提高系统的安全性。
 */
@Configuration
public class PasswordConfig {

    @Bean
    public PasswordEncoder passwordEncoder() {
        return new BCryptPasswordEncoder();
    }

}

/**
 * // 假设这是一个用户服务类
 * class UserService {
 *
 *     @Autowired
 *     private PasswordEncoder passwordEncoder;
 *
 *     public String encodePassword(String rawPassword) {
 *         // 使用密码编码器对原始密码进行加密
 *         return passwordEncoder.encode(rawPassword);
 *     }
 *
 *     public boolean verifyPassword(String rawPassword, String encodedPassword) {
 *         // 使用密码编码器验证原始密码和加密后的密码是否匹配
 *         return passwordEncoder.matches(rawPassword, encodedPassword);
 *     }
 * }
 */
